package com.sjy.dao.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 告警记录 各场景告警记录对象 alarm_record
 * 
 * @author fans
 * @date 2021-09-09
 */
public class AlarmRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一标识 */
    private String uuid;

    /** 事件编号 事件编号 */
    private String alarmSerial;

    /** 告警对象 对象名称 */
    private String alarmObject;

    /** 对象类别 对象身份类型（可同时存在多个身份） */
    private String objectClass;

    /** 对象标识 告警对象唯一标识 */
    private String objectUuids;

    /** 身份证号 告警对象身份证号 */
    private String objectPlace;

    /** 身份证号 告警对象身份证号 */
    private Integer objectGender;

    /** 预警对象类型 1:人,2:船 */
    private Integer objectType;

    /** 身份证号 告警对象身份证号 */
    private String objectNatives;

    /** 告警类别 1:海上疫情2:反走私3:反恐4:政保5:出入境6:应急救援7:禁渔8:治安 */
    private Long alarmClass;

    /** 告警级别 1:低2:中3:高 */
    private Long alarmLevel;

    /** 告警类型 */
    /**
     * 海上疫情:1、预报高风险船 2、抵港高风险船
     * 反走私: 1、证书过期
     * 反恐:
     * 政保:
     * 出入境:
     * 应急救援:
     * 禁渔:
     * 治安:
     * 反偷渡:1、长时关闭AIS  2、偷渡人员出现
     */
    private String alarmMold;

    /** 告警时间 */
    private Date alarmTime;

    /** 情报来源 1:智能研判2:协同情报 */
    private Long alarmSource;

    /** 告警地点 地点名称 */
    private String alarmPlace;

    /** 地点标识 关联地点标识 */
    private String placeUuids;

    /** 点位名称 */
    private String placeName;

    /** 地点经度 */
    private String placeLong;

    /** 地点纬度 */
    private String placeLat;

    /** 关联事件 关联事件uuids */
    private String relateAlarm;

    /** 关联对象 关联对象名称 */
    private String relateObject;

    /** 关联对象类别 */
    private String relateClass;

    /** 关联对象标识 */
    private String relateUuids;

    /** 备注信息 */
    private String alarmRemarks;

    /** 处置状态 1:待研判2:处置中3:已处置10:无需处置 */
    private Long handleStatus;

    private List<AlarmHandle> alarmHandleList;


    private String startTime;
    private String endTime;
    /** 当前页码 */
    @JsonIgnore
    private Integer pageIndex;
    /** 页面数据大小 */
    @JsonIgnore
    private Integer pageSize;

    //归属港口
    private Long portId;

    public void setUuid(String uuid)
    {
        this.uuid = uuid;
    }

    public String getUuid()
    {
        return uuid;
    }
    public void setAlarmSerial(String alarmSerial) 
    {
        this.alarmSerial = alarmSerial;
    }

    public String getAlarmSerial() 
    {
        return alarmSerial;
    }
    public void setAlarmObject(String alarmObject) 
    {
        this.alarmObject = alarmObject;
    }

    public String getAlarmObject() 
    {
        return alarmObject;
    }
    public void setObjectClass(String objectClass) 
    {
        this.objectClass = objectClass;
    }

    public String getObjectClass() 
    {
        return objectClass;
    }
    public void setObjectUuids(String objectUuids) 
    {
        this.objectUuids = objectUuids;
    }

    public String getObjectPlace()
    {
        return objectPlace;
    }
    public void setObjectPlace(String objectPlace)
    {
        this.objectPlace = objectPlace;
    }

    public Integer getObjectGender()
    {
        return objectGender;
    }
    public void setObjectGender(Integer objectGender)
    {
        this.objectGender = objectGender;
    }

    public Integer getObjectType() {
        return objectType;
    }

    public void setObjectType(Integer objectType) {
        this.objectType = objectType;
    }

    public String getObjectNatives()
    {
        return objectNatives;
    }
    public void setObjectNatives(String objectNatives)
    {
        this.objectNatives = objectNatives;
    }

    public String getObjectUuids() 
    {
        return objectUuids;
    }
    public void setAlarmClass(Long alarmClass) 
    {
        this.alarmClass = alarmClass;
    }

    public Long getAlarmClass() 
    {
        return alarmClass;
    }
    public void setAlarmLevel(Long alarmLevel) 
    {
        this.alarmLevel = alarmLevel;
    }

    public Long getAlarmLevel() 
    {
        return alarmLevel;
    }
    public void setAlarmMold(String alarmMold) 
    {
        this.alarmMold = alarmMold;
    }

    public String getAlarmMold() 
    {
        return alarmMold;
    }
    public void setAlarmTime(Date alarmTime) 
    {
        this.alarmTime = alarmTime;
    }

    public Date getAlarmTime() 
    {
        return alarmTime;
    }
    public void setAlarmSource(Long alarmSource) 
    {
        this.alarmSource = alarmSource;
    }

    public Long getAlarmSource() 
    {
        return alarmSource;
    }
    public void setAlarmPlace(String alarmPlace) 
    {
        this.alarmPlace = alarmPlace;
    }

    public String getAlarmPlace() 
    {
        return alarmPlace;
    }
    public void setPlaceUuids(String placeUuids) 
    {
        this.placeUuids = placeUuids;
    }

    public String getPlaceUuids() 
    {
        return placeUuids;
    }

    public void setPlaceName(String placeName)
    {
        this.placeName = placeName;
    }

    public String getPlaceName()
    {
        return placeName;
    }

    public void setPlaceLong(String placeLong) 
    {
        this.placeLong = placeLong;
    }

    public String getPlaceLong() 
    {
        return placeLong;
    }
    public void setPlaceLat(String placeLat) 
    {
        this.placeLat = placeLat;
    }

    public String getPlaceLat() 
    {
        return placeLat;
    }
    public void setRelateAlarm(String relateAlarm) 
    {
        this.relateAlarm = relateAlarm;
    }

    public String getRelateAlarm() 
    {
        return relateAlarm;
    }
    public void setRelateObject(String relateObject) 
    {
        this.relateObject = relateObject;
    }

    public String getRelateObject() 
    {
        return relateObject;
    }
    public void setRelateClass(String relateClass) 
    {
        this.relateClass = relateClass;
    }

    public String getRelateClass() 
    {
        return relateClass;
    }
    public void setRelateUuids(String relateUuids) 
    {
        this.relateUuids = relateUuids;
    }

    public String getRelateUuids() 
    {
        return relateUuids;
    }
    public void setAlarmRemarks(String alarmRemarks) 
    {
        this.alarmRemarks = alarmRemarks;
    }

    public String getAlarmRemarks() 
    {
        return alarmRemarks;
    }
    public void setHandleStatus(Long handleStatus) 
    {
        this.handleStatus = handleStatus;
    }

    public Long getHandleStatus() 
    {
        return handleStatus;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public Integer getPageIndex() {
        return pageIndex;
    }

    public void setPageIndex(Integer pageIndex) {
        this.pageIndex = pageIndex;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public List<AlarmHandle> getAlarmHandleList() {
        return alarmHandleList;
    }

    public void setAlarmHandleList(List<AlarmHandle> alarmHandleList) {
        this.alarmHandleList = alarmHandleList;
    }

    public Long getPortId() {
        return portId;
    }

    public void setPortId(Long portId) {
        this.portId = portId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("uuid", getUuid())
            .append("alarmSerial", getAlarmSerial())
            .append("alarmObject", getAlarmObject())
            .append("objectClass", getObjectClass())
            .append("objectUuids", getObjectUuids())
            .append("objectPlace", getObjectPlace())
            .append("objectGender", getObjectGender())
            .append("objectType", getObjectType())
            .append("objectNatives", getObjectNatives())
            .append("alarmClass", getAlarmClass())
            .append("alarmLevel", getAlarmLevel())
            .append("alarmMold", getAlarmMold())
            .append("alarmTime", getAlarmTime())
            .append("alarmSource", getAlarmSource())
            .append("alarmPlace", getAlarmPlace())
            .append("placeUuids", getPlaceUuids())
            .append("placeName", getPlaceName())
            .append("placeLong", getPlaceLong())
            .append("placeLat", getPlaceLat())
            .append("relateAlarm", getRelateAlarm())
            .append("relateObject", getRelateObject())
            .append("relateClass", getRelateClass())
            .append("relateUuids", getRelateUuids())
            .append("alarmRemarks", getAlarmRemarks())
            .append("handleStatus", getHandleStatus())
            .toString();
    }
}
